/*
 * ReverseCommandFactory.h
 *
 *  Created on: Nov 21, 2008
 *      Author: Ryan
 */

#ifndef REVERSECOMMANDFACTORY_H_
#define REVERSECOMMANDFACTORY_H_

#include "../../OOInterface/AIInterface.h"
#include "../rts/Sim/Units/CommandAI/Command.h"

class ReverseCommandFactory
{
public:
	ReverseCommandFactory();
	virtual ~ReverseCommandFactory();

	virtual OOInterface::ConstCommandPtr createCommandObject( const ::Command& cmd, const OOInterface::UnitSet& allUnits, const OOInterface::UnitSet& prototypes, OOInterface::CommandFactory& factory );

private:
	OOInterface::ConstUnitPtr findUnitByID( const OOInterface::UnitSet& allUnits, int id );
};

#endif /* REVERSECOMMANDFACTORY_H_ */
